#pitch-detector {
  position: relative;
  margin: 30px 0 60px;
  overflow: hidden;
  contain: content;

  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

#pitch-wheel {
  font-family: 'Open Sans Condensed';
  font-weight: bold;
  width: 100%;
  margin-left: 0;
  overflow: hidden;
  contain: content;
  padding: 0 5vw;
  position: absolute;

  -webkit-mask-image: -webkit-linear-gradient(
    left,
    rgba(255, 255, 255, 0) 5%,
    #fff 25%,
    #fff 75%,
    rgba(255, 255, 255, 0) 95%
  );
  mask-image: linear-gradient(
    left,
    rgba(255, 255, 255, 0) 5%,
    #fff 25%,
    #fff 75%,
    rgba(255, 255, 255, 0) 95%
  );
}

@media only screen and (max-width: 1024px) {
  #pitch-wheel {
    padding: 0;
  }
}

@media only screen and (min-aspect-ratio: 21/9) {
  #pitch-wheel {
    padding: 0 10vw;
  }
}

@media only screen and (max-width: 540px) {
  #pitch-wheel {
    -webkit-mask-image: none;
    mask-image: none;
  }
}

.note, .octave { color: #e25c1b }
.unit { opacity: .67 }

#pitch-wheel-needle {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 3vw;
  border-left: 3vw solid transparent;
  border-right: 3vw solid transparent;
  border-top: 3vw solid rgb(67,111,142);
}

#pitch-wheel-needle.active {
  border-top-color: #e25c1b;
}

#pitch-wheel-svg {
  width: 200%; 
  margin-left: -50%; 
  transform: rotate(-1035deg);
  transform-origin: center center;
}

#pitch-detector {
  position: relative;
  margin-bottom: 50px;
}

@media only screen and (max-width: 540px) {
  #pitch-detector {
    border: none;
    border-radius: 0;
    margin-left: -10px;
    margin-right: -10px;
    width: calc(100% + 20px);
  }
}

.audio-button {
  margin: 0 auto;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  outline: none;
  transition: transform 1s ease;
  margin-bottom: 20px;
  position: absolute;
  top: 0;
  left: 50%;
  transform-origin: top center;
}

.shrink-animation, .blob-animation {
  animation-duration: 125ms;
  animation-timing-function: ease;
}

.shrink-animation {
  animation-name: shrink-animation;
}

.blob-animation {
  animation-name: blob-animation;
}

#audio-start {
  width: 135px;
  height: 135px;
  margin-left: -67.5px;
}

#audio-pause {
  width: 45px;
  height: 45px;
  margin-left: -22.5px;
  display: none;
}

#pitch-freq {
  min-height: 150px;
  margin: auto;
  padding: 0 1vw;
  margin-top: 15.5vw;
  position: relative;
}

@media only screen and (max-width: 1024px) {
  #pitch-freq {
    margin-top: 21.5vw;
  }
}

@media only screen and (max-width: 540px) {
  #pitch-freq {
    margin-top: 26.5vw;
  }
}

.pitch-text {
  font-family: 'Open Sans Condensed'; 
  font-weight: bold; 
  font-size: 50px; 
  line-height: 50px;
  text-align: center; 
  color: rgb(67,111,142);
  max-width: 500px;
}

#pitch-freq-text {
  opacity: 0;
  padding: 100px 0 50px;
}

#pitch-message-text {
  position: absolute;
  top: 165px;
  font-size: 28px;
  left: 0;
  right: 0;
}

#circle-text-error {
  display: none;
  color: indianred;
  font-size: 1rem;
  line-height: 1.4;
}

.tuners-privacy-box {
  font-family: 'Open Sans Condensed';
  font-weight: 700;
  text-align: center;
  min-height: 150px;
  max-width: 500px;
  margin: -134px auto 0;
  padding: 0 1vw;
  color: rgb(67,111,142);
}

.shockwave {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  color: #e25c1b;
  animation-name: shockwave;
  animation-duration: 1.2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in; }

@keyframes shockwave {
  0% {
    transform: scale(1);
    opacity: 1; 
    box-shadow: 0 0 2px, inset 0 0 1px; }
  89.9999% {
    transform: scale(1);
    opacity: 0;
    box-shadow: 0 0 50px, inset 0 0 10px; }
  90%, 100% {
    transform: scale(1);
    opacity: 0;
    box-shadow: 0 0 2px, inset 0 0 1px; }
}
@keyframes shrink-animation {
  0% { transform : scale(3) }
  100% { transform: scale(1) }
}
@keyframes blob-animation {
  0% { transform : scale(0.33) }
  100% { transform: scale(1) }
}
